The use of data-oriented networks to carry voice and video traffic is increasing. One feature of such networks is to emulate the circuit switching used in conventional PSTN networks using distributed software to control the switching and routing of packets across a packet-based data network. Such networks, and the software used in them, are being developed because of their inherent capacity to support more advanced communication services than are possible using the PSTN, and in particular services that combine telephony technology and Internet technology. In such networks, software components known as call agents or media gateways are used to establish calls, such as real-time voice communications between two, or more, end users for instance.
As the range of communication services increases, it has been recognised the call agent components of the software should preferably be designed so as to be service-independent, that is capable of supporting many different types of voice-related services, and present a well-defined standard interface to a service software layer of the system.
This arrangement has the advantage of enabling a more diverse and flexible commercial exploitation of the different services that interact within the system by allowing different service providers to manage, and to own, the different elements of the call control and service layers. For instance, a network operator may wish to buy, and to re-sell, services that are managed by other service providers. A subscriber may choose to subscribe to advanced services from different service providers, while using yet another service provider, or network operator, to provide basic network access. The advantage for service providers is that they can deploy a service once, but sell it via multiple network operators. The service providers may not even need to own their own switching or call control elements.
This recognition raises the question of what structure should be adopted by the service layer of the software, bearing in mind that the provision of multiple services such as POTS, CLASS, VPN, VCC, mobility, prepaid etc. by multiple service providers will need to be supported. Moreover, each service may offer many features, such as 3-way calling, call waiting, and call forwarding, although the implementation of a given feature may differ across services.
Some services will use centralised service logic and subscriber data as is the case in conventional Service Control Point (SCP) solutions in SS7 Intelligent Networks. Other services will locate logic and data close to the switching elements (e.g. Customer Local Area Signalling Services (CLASS) feature servers). It may also be necessary for services to distribute logic and data to regional servers, where each regional server would serve a set of local call agents.
In addition, some services may locate subscriber logic and/or data outside of the service provider's network and some services may also choose to be mobility-aware. That is, the service will move the subscriber logic and data depending on the subscribers' current location. Such a decision may be made on a service-by-service basis and potentially on a feature-by-feature basis. A service that is mobility-aware requires a mechanism to download subscriber logic or data to “local” servers when a subscriber moves. Such a service will also need to be able to determine the subscribers' current location. However, the call agent layer of the network need not be aware of the mechanism used to download subscriber logic or data, and it should not need to know whether or not services are mobility-aware.
This invention is directed towards providing a flexible architecture for the service layer which can accommodate at least these needs.